Analog programming system



INVENTORS` QAEENCE M. ABLOW BY GEORGS BRIGHAM Mmdm A frog/V545' April 18, 1961 c. M. ABLow ET AL 2,980,330

ANALOG PROGRAM/Ime SYSTEM Filed oct. 19, 1956 2 sheets-sheet 2 GIM ANALGG PROGRAMMING SYSTEM Clarence M. Ablow, Belmont, Calif., and Georges Brigham, Beaconsfield, England, assignors to Boeing Alrplane Company, Seattle, Wash., a corporation of Delaware Filed Oct. 19, 1956, Ser. No. 617,186 18 Claims. (Cl. 23S-184) This invention relates to programming computer ap-v paratus for determining the values of unknown quantities which satisfy a predetermined criterion function of such unknowns when such criterion function is either maximized or minimized, without violating predetermined constraint functions of said unknowns. An example of a problem soluble by the apparatus is as follows: A manufacturer of animal feeds desires to produce a particular feed as cheaply as possible subject to appearance, nutri-` tional and palatability requirements. For nutritional reasons the protein, fat, liber, etc. content must be above or below certain specified amounts, and for reasons of taste and appearance certain minimum and maximum amounts of each basic ingredient must be used. For example, there may be some 14 ingredients to be used and 49 conditions to be satisiied. The amount of nutrient contributed by each ingredient and the cost of the ingredients are known. The cost may, of course, be ex-V pressed in terms of the unknown quantities of the different ingredients. The problem is then to minimize the resulting cost or criterion function in order to determine the values of the unknown quantities of the ingredients to be used which will yield a minimum total cost while satisfying the other requirements, referred to herein as constraint functions, which are also expressed in terms of the unknown quantities.

The invention is herein illustratively described by reference to presently preferred embodiments thereof constituted for the solution of relatively simple illustrative problems. However, it will be recognized that certain modifications and equivalent forms may be used in practicing the invention and that the specific nature and arrangement of actual computer apparatus in a given case will be governed at least in part by the problems being solved.

Y A broad object of the invention is to enable solving problems of the described type quickly and accurately and -by means of apparatus which is simple and inexpensive, compared with certain digital computer apparatus which has heretofore been used for such purposes.

Another and related object is to provide apparatus4 of the described type which may be constituted to solve problems having any given number of unknowns and constraint functions thereof, and wherein the constraint and criterion functions may be either linear or nonlinear.

In most programming problems the conditions affecting the unknowns are represented by some equalities and some inequalities. In developing the formulae ex-v pressing the problem for solution by the present method, substitution in the other equalities and inequalities reduces the number of unknowns and the number of conditions these unknowns must satisfy. By carrying this process to completion the equalities will be eliminated, leaving the problem expressed in terms of a minimum number of unknowns, such as "n of them, satisfying a minimum number of inequalities, such as "m of rice By al renumbering, if necessary, the n unknowns become .#1, x2, xi, xn. The m inequalities can be writ#V ten, using a sign of. change to express all the inequalities in the form of functions greater than zero.

` The present method expressed rigorously in its general form is as follows: YTo nd x, which minimize or maximize the criterion C(x,) subject to theY constraints Rk(xi)l0, define the n as'XiU) "(viz. as an analog function of time t) such that for values of x, which satisfy Rk(x,)0 and minimize or maximize C(x,). It can be shown that defining -yields such an X10). In the above, k=1, 2, m;

0 if R1, 20 or for. an alternative method of solution In a convenient geometrical language, the x, (or X1), are coordinates of .particle x (or X) in an n-dimensional space. The

or dt dt are components of the velocity vector v of the particle. This velocity is the sum of velocities in the direction of increase of each Rk as long as that R1, is negative, ife as'long as constraint Rk is not satisfied, plus a small ve-v locity in the direction of decrease or Vincrease of the cri terion function. As eachv of the individual constraints are satisfied the corresponding velocity componentmis dropped out. Eventually then the Rk functions will in-v crease to zero and the'constr'aints will thus be satisfied. If the velocity decreasing (or increasing) the criterion function is then reduced to zero, the point orV particle x will come to restat a minimum (or maximum) ofthe criterion function satisfying all the constraints.

In carrying out the invention as herein disclosed, the unknowns, even though in fact static and independen of time, are treated analogically as thoughthey were variable functions of time. In other words, time variation of the unknowns and the derivatives thereof are represented in terms of a ctitious analog time. By setting up the criterion and constraint functions in analog computer apparatus and causing theY unknowns repre :sented therein to vary in value until the constraints are all satised and the criterion minimized (or maximized, if the problem so requires) the desired values of the re? spective unknowns are determined.

Accordingly, analog apparatus embodying the invention comprises integrating means for deriving the unknowns by integration of the respective timederivatives of the constraint and criterion functions with respect to such unknowns, means for generating such time deriva;- tives 9 the @essaim @ad Criterion .functions from ,the

.cost'gline' is as near to the origin as possible. Yexample the solution is vobviously to place P at point I.

` assenso? derived unknowns, meansforgenerating the constraint Y functions from the derived unknowns for limiting further changcfofV the unknowns upjon satisfaction of the constraintffunctions, means, desiredfon obtaining an opti-- Y solution, for.V progressively Vreducing '(or, increasing) the valuelof the generated derivative of the criteriou` function as the .constraintfunctions become satisfied so as to.,permitfth`e systemlfto attainequilibrium with theV riter-ionfuctiona'a minimum (ormaXim'umLand meansto measuretheyaluesof. the, unknowns when such equilibrium is attained. l

L"In the preferredembodiment, wherein problems involvv in'gfn'onlinear' aswell as linear functions may be'solve'd, relays or equivalent switch means are arranged to detect fthe conditions of satisfaction of the respective constraint well known in the art and require no: detailed description herein. The operationalV amplifier v1li having the feedback condenser 12 constitutesv an integrating device having an output which represents the negative of the unknown xl. kThis output is fed through a resistance 14 to the input of operational amplifier 1,6 having a matching feedback resistance 18 which makes it a sign changing device lwhose output isthe positive of unknown'xl. The latter is fed through resistance V20to the input of operational amplifier 22. Y.Also connected to lthe 'inputof this amplifier, throughanequal resistance 24, Ais a Vsourceofminus 'l0 volts. The two resistances 20:V and Y 24 so connetedhform angadding network such that the functions and thereupon toA` interrupt application'ftoY the Y different' integrating; 'means `of.thefassociated Vderivatives unknowns. Thus the' different constraint derivative vellocityjcomponents of the particle drop out as each achieves .its purpose 'in' driving 'the' system toward the.

desired condition of equilibrium.

- These and other features,object sand advantages of the invention will'become more fully evident from the `f. Olltnzvingdescriptionthereof by reference to the Yaccom-1 panyng drawings.

; igure j l is "a graphicalf representation of Va relatively resulting input to amplifier 22 is equal to (x1-10) in volts. The cathode of a first diode 26 is connected to the amplifier output and the anode thereof tothe ampli- V fier input or summing junction. The.' cathode of a sece of such constraint functions with respect to the different f1 ond Adiode 2S is likewiseshunted acrossthe operational amplifier" but with 'alA polarity relationship Yopposite that of thefrst diode and .with/a, direct voltage source .30 interposed ViriseriesV therewith, withits positive terminal directed toward the amplifier output;

-1 "Amplifier 22 with*V its 'associated'drodes and'voltage sjmplelinear function problem soluble' by theV computer Y apparatus, Y

Figure 2 is a schematicpdiagram of novel computer apparatus according to the inventionfor solving the problem postulated in Figure l.

Figure 3 is a graphical representation of a somewhat more complex problem; involving nonlinear functions.

Figure 4 is aschematic. diagram of novel computer Y apparatus constituting a preferred embodiment of the invention for solving the problem postulated in Figure 3.V

Figure n1 ,a relatively simple linear. programming problem is graphically illustrated. Inrwords, the problem is to'miuimize VVthe cos'tfunction`20x1-l-3Ox2 order vto determine the optimum values of unknowns "f1 a'nd x2 while observing the threeconstraints The variable point P with Ycoordinates xbixz must remain source r.functions as a switch or limiter. YWhenever (xr-:10) iis positive`i.e.the firstconstraint in the problem under consideration .as stated above Yis Satisfied, the output of amplifier 22 tends to he negative. :Howeven it cannotbecome appreciably negativeasdiode 25 clamps the amplifier output essentially to4 ground potentiaLjwhich is essentially the inputor summing junction potentialjbecauselof thejessentiallyfinfinite,gain of the (amplifier. Thus Vthe Voutput is `then Vzero. The outputis also zero age the amplifier output tendsto become positive, making' diode 28 conduct. Because theamplifier has essentially infinite gain the voltagesource' thenfestablishes the amplifieroutput voltage/,at 30,volts, the voltageselected for source 30, 'Thisvoltage value is selected in the instant case as a convenient valuewhichwill cause'the computer to satisfy the first `constraint'(xllO-O) at a suitable rate. Obviously itis an arbitrarily chosen voltage Vand other values may be used instead, as may theV similar voltages in the other limiters to be described.

on: the cost line whichinttheexample is a straight line l Withgiven slope. YTheregionsY on thecross-hatched side Offtheacoustraint lines are. forbidden toV .theV point` P. Minimizngcostvjmeans placing the .point P'so'that the InA the (20,..10)-,` Y Y VA `Utilizing the-V time analog method ofthe Vpresent invention'requires Athe representation of vunknowns x1 and x2 as thegintegrals ofthe Ysums of the time derivatives of the constraint and jcriterion functions with respect to suchunknowns. Thus the analogs of these variables must be represented as follows: Y w

where the upper number inthe first term is used if Vthe rs't Vinequality is not satisfied and similarly for the sec ond and thirdkterms and corresponding inequalities.

' Electrical analog apparatus suitable for performing the required switching (i.e. limiting), adding and integrating' operations in the solution of the problem underconsidera-V tion is shown infFigure 2. The triangular lblocks and associated feedback elements shown in this figure reprrev Vsent operational ampliers; V(.)peratiolrialamplifiersare diode26 and x1 Y The voltage value Vof 'ati from sign-changing amplifier 16 is also 'fed through adding network 4resistance 36 -to the input of operational amplifier 38 having bypass diodes 40 and 42 and voltage source 44 similar tothe corresponding Yelements-associated with' amplifier v22. Also fed to'the input of"limiteramplifier 3S, through adding network resistance 39, is the voltage value Vof x2.. The latter is produced at the`output of sign-changing amplier 46 of the operational type having feedback resistance Y48. The negative of x2 is produced for delivery to amplifier 46 through resistanceY 50 by the integrator comprising opera tional amplifier 52 'having feedbackV condenser 54. The

vfinal component of input `voltage Vfed to amplifier 38 is minus 30 volts appliedthrogh adding network resistance 56,." Resistances'36, 39 and 56 to which Vthe different components of input voltageY are appliedy Yconstitute an adding networksubjecting'V limiter amplifier 38 rto, the (rlllxzr-SO), representing-V thesecond constraint flltllonf in the Specific emblem lsderwnsiderstiom; The outputof amplifier 3S is applied'through resistance'SS vreduced to zero at will.

acarrea@ to the input of integrator 10, 12 and through resistance 60 to the input of integrator 52, S4. As long as xl-l-xg-BOO the diode 40 will clamp the output of amplifier 38 to ground. However, when this constraint is violated, the resulting positive 30 volts applied by source 44 to the two integrators will cause a progressive change in the value of x1 and x2 in such a direction as will drive point x to a region satisfying this constraint, i.e., into the region bounded by the four graph lines in Figure 1. Illumination of lamp 62 indicates violation of the second constraint.

The voltage value of x2 from amplifier 46 is also fed through resistance 64 to the input of a third constraint limiter comprising operational amplifier 66 with bypass diodes 68 and 70 and voltage source 72 similar to the corresponding components in the other limiters. A minus volts is applied to this amplifier through resistance 66. Resistances 64 and 66 constitute an adding network such that the sum (x2-10) s actually applied to the amplifier input. By limiter action violation of the constraint function xg-lfl() is detected and caused to produce a further change in the value of x2 (i.e., increase of value of x2) as a result of the positive 30 volts applied by source 72 through resistance 74 to the input of x2 integrator 52, 54. Lamp 73 indicates a third constraint violation.

It will be evident that resistors 34 and 58 serve in an adding network such that the input of x1 integrator 10, 12 is subjected to the sum of the constraint violation responses of the first two constraint switches or limiters. In a linear function problem such as this these responses represent constant voltage values, but in a more general sense, and particularly in nonlinear function problems as will later be described, the integrators are subjected to the time derivatives of the corresponding constraint functions with respect to the variable x1. Likewise constraint violation responses of the second and third constraint switches, applied through the adding network comprising resistances 60 and 74 to x2 integrator 52, 54, represent in general the sum of the derivatives of the second and third constraint functions with respect to x2. For convenience, arbitrarily selected values of voltage of proper sign may be used to represent the constraint function derivatives, as here, since the already described purpose of deriving the derivative voltages is to apply suitable velocity components to the point x in order to cause it to move to a solution satisfying the constraints and minimizing the cost or criterion function. In the case of nonlinear constraint functions generation of actual derivative functions is required to insure that result.

Finally it is necessary in solving the problem under consideration to minimize the cost or criterion function (20x1-l-30x2), .that is, effectively shift it as close to the origin as possible without altering its slope, so that the final values of x1 and x2 represent a point on the shifted cost line which also satisfies the constraints. For this purpose derivatives of the cost function with respect to x1 and x2 are represented in terms of voltages applied as input components respectively to the x1 and x2 derivative integrators. These voltages are multiplied by z however, a quantity which can be reduced to zero at will. In Figure 2, a minus 30 volts are applied across the windings of potentiometers 76 and 78. The wiper of potentiometer 76 is connected through adding network resistance Si) to the input of x1 integrator 10, 12 while that of potentiometer 78 is connected through resistance 82, which is two-thirds the value of resistance 80, to the input of x2 integrator 52, 54. The potentiometer wipers are ganged together and have a setting control 84. The reducible quantity z represents the fraction of the total winding voltage picked off by the wipers, and may be Thus voltages proportional to 202 and 30z are respectively applied as input components to the x1 and x2 derivative integrators. These voltages are made negative so that minimization o f the cost func- S tion will occur. They would be positive if maximizatio were desired.

Preferably z is made initially small 'enough that the actual cost function reducing voltages applied to the in'- tegrators during the initial phase of` operation, wherein the constraints are being initially satisfied, do not unduly retard satisfaction ofthe constraints. Thereafter, when the constraint violation indicator lamps all become extinguished, z is progressively reduced to substantially zero, permitting the cost function effectively to be moved to minimization with minimum violations of the constraints in the process of so doing. Finalization of the solution is indicated when the meters 86 and 88, indicating respectively the values of x1 and x2, reach a steady state condition with signal lights off.

The specific values chosen for the components in Figure 2 (this also being true of Figure 4 described below) are merely typical or representative of suitable values that may be used, and are not. the only values practicable in such apparatus., l

The x1 and x2 may be assigned any convenient initial values by temporarily closing switches 86 and 88 which apply the voltages selected from variable direct voltage sources 90 and 92 respectively to the integrator fd: back condensers 12 and 54, as shown. Thereafter, with switches 86 and 8S opened to release these condensers from a fixed charge, the system automatically operates toward attaining its own solution.

In Figure 3 a relatively simple nonlinear function prob-V lem involving two unknowns x1 and x2 is graphically rep? resented. It may be stated as follows:

Minimize criterion function (2x1-l-x2-l-3) while maintaining Apparatus constituted for solving this problem in accordance with the invention is illustrated in Figure 4. In the latter figure, unknown x1 is represented as a varie able voltage in the output of integrator (consisting of operational amplifier with feedback condenser), and x2 in that of a similar integrator 102. Temporary initial values for these unknowns may be set by temporary ini: tial closure of switches 164 and 106, and by proper settings of variable direct voltage sources 1&3 and 110 respectively. For instance, the point x may be posi-k tioned in this manner at starting points P1 or P1', or any other location from which the point may be moved toward a solution to the problem.

The two integrators produce unknowns x1 and x2 by integrating the sums of the derivatives of the constraint and criterion functions with respect to each unknown. The sums of these derivatives with respect to x1 and x2 respectively are:

where For convenience in the implementation of the eguatiqns tonsille regelaar-rgit.' jY n The reason for this scale conversion will become apparent asthe description proceeds with respect to they types of components conveniently used in the illustrated form of the computer. Y Y Y A In order to generate the derivative components ofthe 'constraint and criterion functions with respect to ,x1,

the Youtput, of integrator 100 is fed/toa functionvgenerator- 112 o f any known l6r suitabletypecapable of converting the unknown x1 into 10e-711131.l The sign of this latter expression Yis changed by kpassing it through signchanging operational amplifier 114. From Vthe'lattersV output it passes to the input of integrator 100 through contact 116b of relay 116 [when the latter is energized, through potentiometer'llS set to multiply the quantity 40e-@fm1 by 0.01, and finally through resistance 121 comprising part of an adding network.

The second x1 derivative component (-2x1+10) is derivedby passing xi through potentiometer 119, which multiplies it by 0.2, thence throughV the adding network Y resistance 120, which multiplies the resultant'by 10 in l order .to create the term 2x, and from there to the input'of sign-changing amplifier 122 which produces the term '2x. A minus 10 volts is also applied to the input of amplifier V122 Vthrough adding network resistance 124 which isv times as large as resistance 120, whereby the quantity +10 appears in the amplifier output. The resulting Vexpression (-2.11-f-10) is then passed to the` input of integrator 10G through contact 126b of 'relay 126 when the latter is` energized, and through adding network resistance 128 which is the same value as resistance Y The x1 derivative component,

' n n-x1) resistance 134 which is one-tenth the value of resistances 121 and 128, hence divides the resulting produc 0.2(-x1) by 0.1 as desired.V y The fourth x1 derivative component,

is Y

quantity is then passed to the `input of integrator `1110 through alsign-changing amplier1138, aV multiplying potentiometer 14n-'which is set Vto mu1tiply.;;z-byr0.2, thence throughjadding network resistance V1412 which Y divides the'prductibyl as'desired.;

YThe x1 derivative componentsfare 'all added'together v'in the `network comprisingY resistances 121, 12S, 134 *and 142 for applying their sum to integrator 100 by which the quantity xi is then produced, it being the negative of the'integralof this sum. Y' f In like manner the derivative components ofthe conf straintand criterionlfunction's withrrespect to'xz are generated Vandadded together for applicationV tot the input of integrator 102.V The first such component,Y .001(100), irslproduced by applyingV aY po'sitive'lOQvolts to the :integrator input through ,contact 116i of relay V@illllwhen the latter 'is energized, through potentiometer 144 whichvis set to Vmultiply this voltage by V0.001', adding network resistance. 146. Y

The second x2' derivative" .termvr or and iinally through component,

Y 0.25('100), is Yproduced lby.Y applying a negative 100 volts to the integrator input Vthrough contact 126:1 of relay 126 when the latter is energized, through potentiometer 148 which is set to multiply this voltage by 01025,

and finally through adding network resistance 150 equalv in value to `resistance 146.

`Theithird xgkderivative term,

k Y 0.2(-x27) is produced and applied Vto the input of Vintegrator 102 by passing x2 'through sign-changing amplifier 152,'contact130d of relay'lt when the latter is energized, through potentiometer 154 Awhich is set to `multiply the reslting"-x2 byf 0.2, and finally through addingnetwork resistane'l which is of such a value relative to resistances 146` and 150 as to divide the resultant by0.1. 'A vThe last x2 derivative component, lz, is applied to the input of integrator 102 by passing the output of signclanging amplifier 138 through adding network resistance 158 of the VsameY value as resistances 146 and 150.

When relay 116 is deenergizedV its groundedcontacts Vi116arand`116c are engaged t o connectthe vwindings of potentiometers 118 and 144v to ground, so` that no input voltage is applied .through adding vnetwork resistances 121'and 146 to the inputs of integrators 1&1) and 1132 respectively;

' When relay 126 is deenergized its Vgrounded'contacts 1266i and V126e `are engaged to connect adding network resistance 128 AandY potentiometer 14S to ground, V-so that integrators and 162 respectively then receive zero input voltage from these sources. Y

`Likewise `when relay 130 is deen'ergized its. grounded contacts 130a and 130C are engaged to connect the windings of potentiometers 132 and 154 to ground for removing input voltage from ftheV respective integrators through these channels. l

I t will be observed, therefore, V'that when relay 116 is energized all Vthe derivative components of Vthe first 'constraint function (lORl) with respect toboth x1 and x2 vare applied toV the-two integrators'V 100 and v102 to which they relate. However, zero input voltage is sub- Y Vstitutedfor these ,components when relayr116 is deener is derived by applyingfa selected value of voltage, suchVV Y asV 100. rvolts,,across, potentiometer 136 .the Asetting of gized Similarly when relay 126 is energizedV all the derivative components ofthe second constraintV function (0.1112) with respect to both xland x2 are applied to the integrators to which'they relate, otherwise these inputs are zero. VThe Same is true with respect to relay 13G and the derivative components of the third constraint function (0.1113). y.

An important feature of the apparatusV is the provision of these relays or equivalent switch means and means for energizing each when the particular constraintsto which they relate, as mentioned. above, are violated. ,'.The ap- 'Whi'clrpre'sents'the'variable quantity z'.` 'The 'resultingV 75 paratns thereforeA includes means Afor 'energizing`V relay 116v only when the first constraint is violated, relay 126 only when the second constraint is violated, and relay 130 only when the third constraint is violated.

In order to detect and remedy violation of the first constraint, the first constraint function is generated. Its rst component is developed by applying the output of function generator 112 through adding network resistance 160 to the input of amplifier 168. The second component is generated by passing .r2 from integrator 102 through sign-changing amplier 164 and adding network resistance 166, equal to resistance 164, to the input of amplifier 162. The net resultant input of amplifier 168 then becomes the expression for R1, as desired. When the value of this output becomes greater than zero the first constraint is violated. This condition is detected by providing operational amplifier 168 with diodes 170 and 172 connected in parallel with relatively opposite polarity between its output and input, with the anode of diode 170 on the side of the amplifier output. A direct voltage source 174 is interposed in series with diode 172 with its negative terminal directed toward the amplifier output. When an appreciable positive voltage is fed to the input of amplifier 168, resulting from violation of the first constraint, the amplifier output tends to become greatly negative and causes conduction of diode 172. However, the latter clamps the output voltage to the value fixed by source 174 which is selected as the desired energizing voltage of relay 116. Under these conditions relay 116 is energized and through its contacts voltages are applied to the inputs of integrators 100 and 102 such that, with initial condition switches 104 and 106 opened, the variables x1 and x2 will change in directions causing movement of point x out of the region of violation of the first constraint. When this constraint is satisfied diode 170 clamps the output of amplifier 168 essentially to ground potential and relay 116 is then deenergized.

In order to detect and remedy violation of the second constraint, the second constraint function is generated. Its first component is developed by passing the voltage x, through a squaring device 176 of any known or suitable type which converts such voltage into +0.0lx12, thence through adding network resistance 178 which divides the resultant by 0.1 before application to the input of limiter amplifier 180. The second component, x1, of the second constraint function is developed by passing x1 through sign-changing amplifier 182, thence through adding network resistance 184 to the input of amplifier 180. Resistance 184 is ten times the value of resistance 178. The third component, 0.25x2, is developed by passing x2 through potentiometer 186 set to multiply it by 0.25, thence through adding network resistance 188 to the input of amplifier 180. Resistances 188 and 184 are equal. Ampliiier 180 is connected as a limiter with associated bypass diodes 190 and 192 and a direct voltage source 194, with the diode and voltage source relationship being opposite that in the case of amplifier 168 because the second constraint is violated when the instantaneous value of its function becomes less than zero instead of greater than zero. Whenever the second constraint is violated the output of amplifier 180 tends to be highly Ypositive and relay 126 will be energized by current flow `180essentially to ground potential, and relay 126 is then deenergized.

esso-,aso

10 In a similar manner, violation of the third constraint is detected for energization of relay 130 by generating the third constraint function and applying it to a limiteramplifier 196. The first component of the third constraint function is developed by passing the voltage 0.01::12 from squarer 176 through adding network resistance 198 to the input of amplifier V196. Resistance 198 has a value resulting in division of the squared quantity by 0.1. The second component of the third constraint is derived by passing x2 through a similar squaring device 200, through adding network resistance 202 equal to resistance 198, thence to the input of amplifier 196. The third component, 22.5, is derived by applying a minus 22.5 volts through adding network resistance 204 to the input of amplifier 196,V

where resistance 204 is ten times the value of resistance 202. The resulting value of the third constraintfunction at the input of amplifier 196 is positive when the constraint is violated, and relay 130 will be energized -through conduction of diode 206 which is arranged with diode 208 and source 210 across amplifier 196 in the same manner as the similar components associated with amplifier 168. When relay 130 is energized voltages will be applied through its contacts to integrators and 102 which will cause the point x to move toward the region of satisfaction of the third constraint.

The apparatus is operated so that the derivative components of all the constraints are simultaneously applied .to integrators 100 and 102. As first one constraint and then another becomes satisfied the related relay is automatically deenergized and the associated indicator lamp 116a, 126a or 130a extinguished. A relay associated with one constraint may become reenergized one or more times in the process if the changing values of x1 and x2 required to satisfy another constraint produce further violations of the first-mentioned constraint. Finally all of the constraints become satisfied and all relays are accordingly deenergized. Thereupon minimization of the criterion function to a solution of the problem is achieved by progressively reducing the quantity z to zero by manipulation of potentiometer 136. In this process the same considerations govern the settings of the potentiometer as in the first described embodiment.

Meter 212 connected across the output of integrator 100 indicates the instantaneous value of x1, while meter 214 connected across the output of integrator 102 indicates the instantaneous value of x2. If desired, corresponding values of the cost may be derived and indicated on a separate meter (not shown).

In various specific problems to be solved, including the one under discussion, there may be more than one solution attainable by the apparatus, that is, more than one position for point x representing the closest the criterion function can be moved to the point of origin without violating any of the constraints while following the particular path which the apparatus develops as a result of the initial settings of x1 and x2. One of these solutions is ordinarily better, i.e., at a lower minimum, than the other. Thus in Figure 3 it is obvious that if the cost line (2x1-i-x2-i-3) is shifted to point P3 it will furnish a lower value of cost than if it reaches only point P3'. Yet both points represent solutions of the problem by the apparatus. Point P3 is reached by starting with initial values of x1 and x2 placing the movable point x at P1, from which it proceeds generally to P2, thence to P3. However by setting up different initial values of x1 and x2, so as to position point x at P1', for instance, the ultimate solution will generally Vbe P3'. In certain i problem at hand.

problems, therefora'it will be'desirable tofcause theY ap- 'params t9 derive .solutions `starting with a'numbernfidifr venient Aexploratory tool.. VStartingwithQvarious initial values for point x, and then notingthe corresponding end points ofthe paths followed by x, kgives an'understanding of the-conformation Vof thefconstraints and the possible solutions to the problemflfenough of these paths are traced so that the behavior. of x in a region of interest l. can be considered known, that region will have been scanned, VVSul'licielritly'detailed scanningobtains the solution yof any programming Vproblemn that has' a'V solution. i It'will be evidentfrrn Vthe` foregoing kdescription of Villustrative embodiments' of the invention that apparatus incorporating the novel subjeetmatter-may be constituted 'to handle problems with any number of variables and anyA-nuirrber of` constraints, andrthat the constraint and 'criterion functions involved frnayfbeof any-form ifthe Y jcomponents andthe derivatives' thereof nwith respect to i flocityf at which the-point moves may belmodiiied so vasrto ybe not merely a function of the derivatives but a 'function .of the derivatives multiplied Aby a'factor-representing the' degree of violation of the Vrespective constraints thereby to expedite'. movement toward a vsolution, Aemploy a continuousrather than a discontinuous velocity. vector for point x, and minimizei any tendency y 'of the apparatus to oscillate back and forth across a constraint line once the'constraint becomes 'satise'dL VIn -case any ofthe cnstrain't'andicriterion functions yare discontinuous or doV not have derivatives, they may beA approximated piece by piece with smooth curves between whichtthe related components are switched. Alternative- YVly if `the Yoscillations introduced by switching from one -smooth part of the function torthe'next are tolerable theI discontinuous function itselfY may be mechanized.Y /These and similar Vvariations with respectto details will be evident to 'those Yskilled in the art based .on the foregoing description. g f l l Y We claim as'ourinvention'zi c 'x l. Computer apparatusfor determining the values of a plurality of unknowns which minimize or maximize a criterion function of said-unknowns; subject `toiconstraints defined, by constraint functions of Vsaid unknowns, which to besatisedmust have values equal'to or diierent'pin one sense from predetermined values,- respectively, .said apparatus comprising, in combination, separate electrical integrating lmeans related to the Yrespective:unknowns, each such integrating means having an input.V and having an output operableto representthe relatedunknown by Vavvol'tage proportional thereto, aplurality of electrical y @terms'of the'timeiderivativesofsaidconstraintjfunctions twith re'spectgtc said. unknowns'aare rrepresented respec- .Y tivelyYV by proportionalgvoltages,i'separate: adding.' means Vfor adding together saidderivative .voltages of all the constraint functions forn eachgofsaidrunknowns and apply- Ying the resultantrthereoflrto theinput of the correspond- -ing integrating meansfwherebythe voutput' of the latter .-,ljepresentsrV Vthe Vrcorresponding` unknown voltage, relay means corresponding to each..constraint and having sets of-vnorvmallypencbntacfsfcorresponding to the respec- Vtive/terms -of Ysaid derivatives, Ysaid Vcontacts being arranged in the connections of said derivative function gen- `craters to said adding meansand respectively operable .to interrupt application of said derivative voltagelterms thereto, VseparateY detecting means having 'inputs `con nectedfrespectively to the outputs'of said'constraint func- Yftionf"gerlerat'ors and'arranged to 'detect values of `the l constraintffnction voltages which violate theV respective -contraintsg said latter means being actuatingly connected ftoQthe respectively associated relays to actuate'such relays and ,close said contacts ther'eof'iin4 response Vto violation of the, corresponding constraints, and thereby apply the Ycorresponding constraintderivativevoltage 4terms to said integrating means, thereby to causeV change in the values fof said unknowns in a` dirfectiontoward satisfaction of lsaid constraint, means YforV derivingthe timeiderivatives ofY said criterion functionYV with respect toi Veach of said unknowns and representing the terms thereof by voltages .proportional thereto, Asaid latter means being connected ffo'r Yapplyingthe same to the corresponding integrating .means in'a sense to shift the -criterion'function toward the desired `maximum Vor minimum subject to saidrconstraints, means to indicate when the constraint functions are satisfied, and means to' indicate the'values of said ,unknowns/- Y Y g! 'i i; .Y f, Y. z i

'i .2'.,Computer apparatus as YdeinedrV vin claim n1', and jmeans connected with'the `respective integrating means and selectivelyfand separately; operable to' vary the initial values ofV the unknown voltages represented therebyduring initiation of operation of suchy apparatus, frompwhich initial values such unknown',voltages are causedto vary thereafter by operation'of said apparatus. l Y 40 3. Computer apparatus asY delined in claim 2, wherein the detecting means comprises-an operational amplifier having inputs respectivelyfconne'cted to the outputs of Uthe constraint function generators and having outputs respectively connected Ytothe relays for energizing the same, a pairof unidirectionallyV conductive devices connected 'in parallelwithV relatively opposite polarity between input andfoutput ofeach such operational amplifier-,and a Ldirect voltage source'con'nected directly-in" series with only one of said unidirectionally conductive devices in polarityl opposition thereto; whereby theoutput'voltage of, said amplifier becorries iixed by said source when the ampliterinput voltage lviolates'the corresponding constraintf, thereby producing atendency of the'output volt- -age tovarylin a s ense producing conduction in said last frnentioned punidirectionally conductive fdevice, therebyv to Venergize the corresponding relay. 'Y v' Y 4. Computerapparatusas d'ened'in claim `3, wherein 'the'.integratingmeans Vcomprise operational amplifiers -having inputs and outputs, and'capacitance elements connected' between Vsaid inputs'- and' outputs, respectively, Y

1T r5; Computer apparatus for determining theV values of va plurality of unknowns Ywhich minimizeorimaximize a 'criterion function Vof said unknownssubjcct to constraints deiined .by fconstraintfunctions of Ysaid unknowns, which t'ofbe satisfied must have Vvalues equal to ordifferent in one sense #from L predetermined val ues,l` respectively, said zapparatusrcomprising, incombination, separate electrical integratin'g-im'eans Vrelated vto the respective unknowns, each such Aintegrating-,means 1 having an input and` having an output operable to? represent therelated unknown by a voltage` proportional thereto, a'.plur'ality of, electrical l 'constraint functionV 'generators havingY inputs'connected to :said integrating means outputs andVV having outputs in :which the v alues of saidv constraint functions' arerepresented by proportional voltages for diererit! valuesof ;said unknowns, respectively, electrical assolsao means in which the respective terms of the time derivativesrof' said coustraint functions with respect to said unknowns are represented respectively by proportional voltages, separate adding means for adding together said derivative voltages of all the constraint functions for each of said unknowns and-applying the resultant thereof to the input of the corresponding integrating means, whereby the output of the latter represents the corresponding unknown, separate detecting means having inputs connected respectively to the outputs of said constraint function generators and arranged to detect values of the constraint function voltages. which violate the respective constraints and apply the corresponding constraint derivative voltage terms to Vsaid integrating means in response to such'violation,

thereby to cause change in the values of said unknowns in a direction toward satisfaction of said constraint, means Afor deriving the time derivatives of said criterion function with respect to each of said unknowns and representing the terms thereof by voltages proportional thereto, said latter means being connected for applying the same to the corresponding integrating means in a sense to shift the criterion function toward the desired maximum or minimum subject to said constraints, and means to indicate the values of said unknowns.

6. Computer apparatus as defined in claim 5, and means connected with the respective integrating means fand selectively and separately operable to vary the initial values of the unknowns represented thereby during initiation of operation of such apparatus, from which initial values such unknowns are caused to vary thereafter by operation of said apparatus.

7. Computer apparatus as defined in claim 6 for solv- V'ing linear function problems, wherein the detecting and constraint derivative representing means together comprise operational amplifiers having inputs respectively connected to the outputs of the constraint function gen- -erators and having outputs respectively connected to the particular adding means in the inputs of the integrating `means for such of said unknowns as appear in the con- `comes fixed by said source when the amplifier input voltage violates the corresponding constraint, thereby producing a tendency of the output voltage to vary in a sense producing conduction in said last mentioned unidi- 'rectionally conductive device.

8. Computer apparatus for determining the values of a plurality of unknowns which minimize or maximize a criterion function of said unknowns subject to constraints ldefined by constraint functions of said unkowns, which to be satisfied must have values equal to or different in one sense from predetermined values, respectively, said apparatus comprising, in combination, separate integrating means related to the respective unknowns, each such integrating means having an input and having an output operable to represent the related unknown, a plurality of constraint function generators having inputs connected to said integrating means outputs and having outputs in which the values of said constraint functions are represented for different values of said unknowns, respectively, derivative function generators having inputs connected to said integrating means outputs and having outputs in which the derivatives of said constraint functions with respect to said unknowns are represented respectively, separate adding means for adding together said derivatives of all the constraint functions for each of said unknowns Y 14 t and applying the resultant thereof to the input ofthe corresponding integrating means, whereby the output of the latter represents the corresponding unknown, switch means respectively arranged 'in the connections of said derivative function generators to said adding means and operable tointerrupt application of said derivatives thereto, separate detecting means having inputs connected respectively to the outputs of said constraint function generators and arranged to detect the transition between violation and satisfaction of the respective constraint functions, said latter means selectively controlling said switch means to operate the particular switch means corresponding to the derivatives of any constraint function violatedl by the instantaneous values of said unknowns, thereby to cause change in the values of said unknowns in a direction toward satisfaction of said constraint, means for deriving the derivatives of said criterion function with respect to veach of said unknowns and for applying the same to the corresponding integrating means in a sense to shift the criterion function toward the desired maximum or minimum subject to said constraints, means to indicate when the constraint functions are satisfied, means operable to reduce to substantially zero the values of said criterion function derivatives applied to said integrating means, and means to indicate the values of said unknowns.

9. Computer apparatus as defined in claim 8, and means connected with the respective integrating means and selectively and separately operable to vary the initial values of the unknowns represented thereby during initiation of operation of such apparatus, from which initial values such unknowns are caused to vary thereafter by operation of said apparatus.

l0. Computer apparatus for determining the values of a plurality of unknowns which minimize or maximize a criterion function of said unknowns subject to constraints defined by constraint functions of said unknowns, which to be satisfied must have values equal to or different in one sense from predetermined values, respectively, said apparatus comprising, in combination, analog means to represent the individual unknowns in analog form, such means being adapted for energization thereof selectively to vary the values of the respective unknowns represented thereby up or down, constraint representing means controlled by said analog means and operable to represent the values of the respective constraints produced by different values of said unknowns, individual detecting means responsive to the respective constraint representing means and operable thereby to detect violation of such constraints, constraint derivative representing means controlled by said individual detecting means and in turn connected to said analog means for energizing each such latter means to vary the respective unknowns in a sense leading out of the region of violation of any of said constraints, in response to detection of violation of any such constraint, criterion derivative representing means connected to said analog means and operable for energizing the same in a sense to minimize or maximize the criterion function, and indicator means connected to said analog means for indicating the respective values of said unknowns.

11. Computer apparatus for determining the values of a plurality of unknowns which minimize or maximize a criterion function of said unknowns subject to constraints defined by constraint functions of said unknowns, which to be satisfied must have values equal to or different in one sense from predetermined values, respectively, said apparatus comprising, in combination, electrical time analog integrating means to represent the individual unknowns in electrical time analog form, such means havingan input adapted for energization thereof selectively to vary the values of the respective unknowns represented thereby up or down by integration of the input energization, constraint representing means controlled by said analog integrating means and operable to represent electrically the values of the respective conrand operable for energizing the same in a sense to lminimize orrmaximize'i the `criterion function, said criterion Y.derivative representing means beingadjustable to reduce such analog meansV energization progressively to zero,

and indicator means connected 'to said analog'kmeans .for indicating the respective-values of said unknowns.

12. The apparatus defined in claimY 1l, anclV means connected to the integrating means and operable at will to vary the initial values of the unknowns 'represented ,thereby. Y

e 13. In an electrical computersystern forminimizing or maximizing a criterion function of arplurality of unknowns without violating predetermined constraints represented by constraint functions of said unknowns, thercombination comprising means to representsaid unknowns as Vvariable voltages, means operable to`vary said voltages ,in a sense'and until ,said constraints are satisfied, said latter meansincluding means responsive to Vsaid voltages Vto Vdetect the values of said constraint functionsY for different values of said unknowns, means operable to vary Ysaid variable voltages at a rate and in a sense tomininrnize or maximize the value of saidcriterion function, and means connected with said second-named means for indicating Violation ofV the constraints, Vthereby yto`indicate varrival at the minimum vor maximum of said criterion function.

- 14. The system defined in claim 13, and. means connected to the'firstenamed means and operable at will to yvary the initialyvalues of the unknownsv represented :therebyV i "l i V15. Analog programming computer apparatus, com.

Vjprising means to represent a pluralityof: unknowns in 45 analog form, integratingV means'to represent in analogV form the derivatives of a plurality of constraintvfunctions'and a criterion function of said unknowns, with respect to said unknowns, wherein said criterion function "isi to be minimized or maximizedsubjectfto said convstraints, means controlled by said constraint representing means and operated only by violation of any' constraint for applyingthe analogs of the terms ofsaid derivatives analogs of said unknowns inea sense to satisfy said constraint, and means applying to said integrating means the Vcorresponding terms of the analog representation of said vcriterion function with respect to said unknowns. l,

I6. 'Ille apparatus defined in Vclaim 15, and means con-V tasajsoso .60 February `1975.6.`

,nectedwith the integratingmeans and operable to vary Fthe, initial values of theanalogsjofth'e respective unknowns represented thereby. l v17. [A systemn for, determining the/values, of a plu- Y 5 rality, ofr Yunknowns-which willA minimizQQt maximize a criterion.function ofj said unknowns-vvhille,,satisfying a plurality of-v constraint comprising Vfunctionsi fof said` unknowns, said system comprising rneanslderiving voltages representing said unknowns, 1means deriving 'as voltages KVthe terms of time derivatives' of saidy criterion and convrstraint functions' withrespect to eachof said unknowns, means integrating 'said terms foreach such unknown to .produce thelfirst; voltages and to produce'`variation of such Yvoltages in asenseto'approach satisfaction of said constraints respectively,` andimeansV velectrically detect- 'ing satisfaction of each suchconstraint and in yresponse ,thereto eliminating 4the termsM of the derivative Vthereof with'respect' to said unknowns from the'. vprocess of integration, thereby to attain a minimum or, maximum of -said criterion function withsaid unknowns satisfied. 18. A systemffor determining'the values of a plurality of unknowns which will "minimize or maximize a criterion function ofv said, unknowns while satisfying a plurality ofV constraints comprising functions'of said un- 2 5 knowns, said system 4comprising means deriving analogs Yrepresenting said unknowns, means lderivingfas similar analogs the terms of time derivatives of said criterion and constraint functions `with'respe'ct to each of Vsaid unknowns,means integrating said terms foreach suchun- -known to produce the first analogs and to vproduce 4variation of such analogs in a sense to approachsatisfaction of said constraints,.respectively, and means detecting by response -to suchl analogs satisfaction of each -such constraint and in response thereto 'eliminating the '35 terms of the derivative thereof with'respectto said un- Ykn'owns from the 'process of integation, and including Ymeans operableupondetecting satisfaction of all such lconstraints progressive to reduce to zero the terms of the Yderivatives of said criterion function integra`ted,rthereby 4030 attain a minimum or maximum of said criterion function with said constraint satisfiedf f Y' References y Citedfin/the fileof this patent a r VUNITED srATEs PATENTS Electronic Analog Computers (Korn& Korn), 1952, page290. Y Y. ,Y

,Electronics (Morrill), November V1952, pagesj and --126. f f

Control Engineering (Russell et all), pages and 22, Trans of the Aran (Pyne), May 19,56,V pp.- 139-143. f 

